home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
tools
/
czesc_3
/
phoonsrc
/
libi
/
mathsup.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-02-22
|
2KB
|
109 lines
extern struct MathIeeeDoubTransBase * MathIeeeDoubTransBase;
extern struct MathIeeeDoubBasBase * MathIeeeDoubBasBase;
double const atan (double parm)
{
register double res __asm("d0");
register void *a6 __asm ("a6");
register double d0 __asm("d0");
a6 = MathIeeeDoubTransBase;
d0 = parm;
__asm volatile ("
jsr a6@(-0x1e)"
: "=r" (res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return res;
}
double const sin (double parm)
{
register double res __asm("d0");
register void *a6 __asm ("a6");
register double d0 __asm("d0");
a6 = MathIeeeDoubTransBase;
d0 = parm;
__asm volatile ("
jsr a6@(-0x24)"
: "=r" (res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return res;
}
double const cos (double parm)
{
register double res __asm("d0");
register void *a6 __asm ("a6");
register double d0 __asm("d0");
a6 = MathIeeeDoubTransBase;
d0 = parm;
__asm volatile ("
jsr a6@(-0x2a)"
: "=r" (res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return res;
}
double const tan (double parm)
{
register double res __asm("d0");
register void *a6 __asm ("a6");
register double d0 __asm("d0");
a6 = MathIeeeDoubTransBase;
d0 = parm;
__asm volatile ("
jsr a6@(-0x30)"
: "=r" (res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return res;
}
double const sqrt (double parm)
{
register double res __asm("d0");
register void *a6 __asm ("a6");
register double d0 __asm("d0");
a6 = MathIeeeDoubTransBase;
d0 = parm;
__asm volatile ("
jsr a6@(-0x60)"
: "=r" (res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return res;
}
double const asin (double parm)
{
register double res __asm("d0");
register void *a6 __asm ("a6");
register double d0 __asm("d0");
a6 = MathIeeeDoubTransBase;
d0 = parm;
__asm volatile ("
jsr a6@(-0x72)"
: "=r" (res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return res;
}
double const floor (double parm)
{
register double res __asm("d0");
register void *a6 __asm ("a6");
register double d0 __asm("d0");
a6 = MathIeeeDoubBasBase;
d0 = parm;
__asm volatile ("
jsr a6@(-0x5a)"
: "=r" (res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return res;
}